package cn.iocoder.yudao.module.biz.dal.dataobject.expand.record;

import cn.iocoder.yudao.framework.mybatis.core.type.StringListTypeHandler;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 拓展记录 DO
 *
 * @author 超级管理员
 */
@TableName(value = "san_biz_expand_record", autoResultMap = true)
@KeySequence("san_biz_expand_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExpandRecordDO extends BaseDO {

    /**
     * ID
     */
    @TableId
    private Long id;
    /**
     * 受访人
     */
    private String interviewee;
    /**
     * 受访人电话
     */
    private String intervieweePhone;
    /**
     * 受访人职位
     */
    private String intervieweePosition;
    /**
     * 客户需求
     */
    private String customerRequire;
    /**
     * 切入点
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> breakthroughPoint;
    /**
     * 拓展时间
     */
    private LocalDateTime expandTime;
    /**
     * 业务类型
     */
    private String businessType;
    /**
     * 拓展进度
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> expandProcess;
    /**
     * 拓展情况
     */
    private String expandSituation;
    /**
     * 客户类型
     */
    private String customerType;
    /**
     * 客户级别
     */
    private String customerLevel;
    /**
     * 下次拜访时间
     */
    private LocalDateTime nextTimeVisit;
    /**
     * 现场图片url
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> scenePictureUrl;
    /**
     * 安全评测报告url
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> securityReportUrl;
    /**
     * 安全方案url
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> serviceSchemeUrl;
    /**
     * 拓展所属人id
     */
    private Long ownerUserId;

    /**
     * 增值业务
     */
    private String valueAddService;
    /**
     * 经度
     */
    private Double lng;
    /**
     * 纬度
     */
    private Double lat;

    /**
     * 拓展状态
     */
    @TableField(exist = false)
    private String expandStatus;
    /**
     * 拓展目标id
     */
    private Long targetId;

    /**
     * 拓展目标名称
     */
    private String targetName;

    /**
     * 拓展目标类型
     */
    private String targetType;
    /**
     * 拓展所属人昵称
     */
    @TableField(exist = false)
    private String nickName;

    /**
     * 其他拓展进度说明
     */
    private String otherExpandProcess;

    /**
     * 部门id
     */
    private Long deptId;

}